<?php
class InvoicesController extends Zend_Controller_Action
{
	/*
	 * Default action
	 */
	public function indexAction(){
		//in der indexAction werden hier alle Rechnungen ausgeben
		//Invoice-Objekt erstellen
		$inv = new Model_Invoice();
		//Objekt für die Billing-Invoice-Relation
		$rbi = new Model_RelBillingsInvoice();
		//Projects-Objekt erstellen
		$p = new Model_Project();
		//Projects-Objekt erstellen
		$b = new Model_Billing();
		//Settings-Objekt erstellen
		$s = new Model_Settings();
		//Alle Rechnungen holen
		$this->view->invoicearr = $inv->getAll()->toArray();
		$this->view->payment_target = $s->getValueByName('payment_target') * 86400;
		foreach ($this->view->invoicearr as &$invoice) {
			//$invoice['project']['ptitle'] = "Test";
			$billings = $rbi->getBillingsByInvoiceID($invoice['iid']);
			foreach($billings as $billing) {				
				$project = $p->getProjectByID($b->getProjectIDByBillingID($billing['bid']));
				$invoice['projects'][$project['pid']]['ptitle'] = $project['ptitle'];
			}
		}
	}
	
	public function completedticketsAction(){
		//Hier werden alle Tickets ausgegeben, die den Status erledigt erhalten haben.
		//Diese können hier markiert werden und in die entsprechende Rechnung übernommen werden.
		$ticket = new Model_Ticket();
		$this->view->completed_tickets = $ticket->getTicketsByStatus(Model_Ticket::STATUS_COMPLETED)->toArray();
	}
	public function ajaxmarkinvoicesaspaidAction(){
		//Kein Viewrenderer verwenden, da wir hier nur die Rückgabewerte für AJAX ausgeben müssen
		$this->_helper->viewRenderer->setNoRender();
		//Rückgabe-Array für JS
		$ret = array();
		//Ticket-Objekt erstellen
		$invoice = new Model_Invoice();
		//Postdaten holen
		$request = new Zend_Controller_Request_Apache404();
		$data = $request->getParams();		
		foreach($data as $key => $value) {
			if(is_numeric($key) && $value == "on") {
				//Ticket als verrechnbar markieren
				$invoice->setStatus(Model_Invoice::STATUS_PAID, $key);
				//ins Rückgabe-Array für JS
				array_push($ret, $key);
			}
		}
		die(implode(",",$ret));
	}
}